package com.yc.jpyy.mobile.service;

import java.util.List;
import java.util.Map;

import org.springframework.dao.DataAccessException;

import com.yc.jpyy.base.bean.RestResponse;

public interface TeacherService {

	//教练登录
	RestResponse teacherLogin(Map<String, Object> paramsMap,RestResponse response)throws DataAccessException;
	// 修改教练电话
	int updateTeacherPhoneById(Map<String, Object> paramsMap)throws DataAccessException;
	
	// 修改教练登录密码
	RestResponse updateTeacherPassword(String teacherId,String newsPwd,String oldPassword,RestResponse response) throws Exception;
	
	// 忘记密码验证
	RestResponse forgetTeachpassword(String mobilePhone,String IdCardNo,RestResponse response) throws DataAccessException;

	// 忘记密码修改密码
	RestResponse updateNewPassword(Map<String, Object> paramsMap,RestResponse response) throws DataAccessException;
	
	// 获取系统公告
	RestResponse getNews(Map<String, Object> paramsMap,RestResponse response)
			throws DataAccessException;
	
	// 根据课程ID获取学员预约信息
	List<Map<String, Object>> getAppointmentDetailByCourseID(String courseID,String imgUrl) throws DataAccessException;
	
	// 缺勤标记
	RestResponse updateAppointmentDetailAbsent(String appointId,String studentId,RestResponse response)throws DataAccessException;
	
	// 根据教练ID获取七天时间列表 
	List<Map<String, Object>> getCourseCountByTecID(String teacherid) throws DataAccessException;
	
	// 根据教练ID获取一天课程列表 
	RestResponse getCourseListByTecID(Map<String, Object> paramsMap,RestResponse response) throws DataAccessException;
	
	// 教课学员查询接口(学习进度列表页) 
	List<Map<String, Object>> getTeacherStuListByTecID(String teacherid) throws DataAccessException;
	
	// 历史课程查询接口  根据教练ID、年月（2017-03）
	List<Map<String, Object>> getOldTeacherList(Map<String, Object> paramsMap) throws DataAccessException;
	
	//2.1	教练基本信息获取-终端
	List<Map<String, Object>> getTeacherInfo(Map<String, Object> paramsMap) throws DataAccessException;
	
	//2.2	教练所带学员信息-终端
	List<Map<String, Object>> getTechStudents(String Coachnum,String imgUrl) throws DataAccessException;
	
	//2.5	教练教课记录-终端
	List<Map<String, Object>> getCoachSignResultForTerminater(String Coachnum) throws DataAccessException;
	
	//2.9	教练预约教程获取-终端
	List<Map<String, Object>> getAppointMentTeachCourses(String coachNum) throws DataAccessException;
	
	//2.10	教练培训记录获取-终端
	List<Map<String, Object>> getTrainingRecords(Map<String, Object> paramsMap) throws DataAccessException;
	
	//教练基本信息获取-人脸识别
	Map<String, Object> getTeacherInfoForFaceCheck(Map<String, Object> paramsMap) throws DataAccessException;
	
	RestResponse signinConfirm(String UID,String Type,String ObjectNum,
			String EventType,String Devnum,Map<String, Object> map,RestResponse response)throws  Exception;
	
	//请假
	RestResponse addTeacherLeave(Map<String, Object> paramsMap,RestResponse response)throws DataAccessException;

	//获取请假类型
	RestResponse getLeaveType(RestResponse response)throws DataAccessException;

}
